package com.itheima.health.service.impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.itheima.health.dao.CheckitemDao;
import com.itheima.health.entity.PageResult;
import com.itheima.health.entity.QueryPageBean;
import com.itheima.health.pojo.CheckItem;
import com.itheima.health.service.CheckitemService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

/**
 *@Author Administrator
 *@Date 2020/3/27 0027
 *@Version 1.0
 *@Description 检查项业务接口实现类
 */
@Service
public class CheckitemServiceImpl implements CheckitemService {
//    依赖注入dao
    @Autowired
    private CheckitemDao checkitemDao;
    @Override
    public PageResult pageQuery(QueryPageBean queryPageBean) {
        //使用PageHelper工具实现设置分页，查询limit条件
        PageHelper.startPage(queryPageBean.getCurrentPage(),queryPageBean.getPageSize());
//        调用dao中的方法实现查询项数据
           Page<CheckItem> page = checkitemDao.selectCondition(queryPageBean.getQueryString());
//        返回PageRsult对象

        return new PageResult(page.getTotal(),page.getResult());
    }

    @Override
    public void add(CheckItem checkItem) {
        checkitemDao.add(checkItem);
    }

    @Override
    public void delete(Integer id) {
//        判断当前检查项，是否被引用
        System.out.println("*************"+id);
        int countCheckItemsById = checkitemDao.countCheckItemsById(id);
        if(countCheckItemsById > 0){
            throw  new RuntimeException("次检查项，在家插足中被引用，不可删除");
        }
        checkitemDao.delete(id);
    }

//    基于id查询检查项
    @Override
    public CheckItem findById(Integer id) {
//        CheckItem checkItem = checkitemDao.findById(id);
        return checkitemDao.findById(id);
    }

    @Override
    public void edit(CheckItem checkItem) {
            checkitemDao.edit(checkItem);
    }

    @Override
    public List<CheckItem> findAll() {
        return checkitemDao.findAll();
    }


}
